/**
 * Project  : Looker
 * Package  : net.freestu.looker.data
 * File     : MediaListener.java
 * Author   : solosky < solosky772@qq.com >
 * Date     : Aug 21, 2009
 * Modified : Aug 21, 2009
 * License  : Apache License 2.0 
 */
package net.freestu.looker.common;


import org.apache.commons.configuration.Configuration;

/**
 *  新闻附件监听接口
 * @author  solosky
 * @version v1.0
 */
public interface MediaListener
{
	/**
	 * 初始化附件监听器
	 * @param conf
	 * @throws ListenerException
	 */
	 public void init(Configuration conf) throws ListenerException;
	 
	 /**
	  * 添加一个附件
	  * @param media
	  * @throws ListenerException
	  */
	 public void add(Media media) throws ListenerException;
	 
	 /**
	  * 更新一个附件 
	  * @param media
	  * @throws ListenerException
	  */
	 public void update(Media media) throws ListenerException;
	 
	 /**
	  * 删除一条附件
	  * @param media
	  * @throws ListenerException
	  */
	 public void delete(Media media) throws ListenerException;
	 
	 /**
	  * 提交更改
	  * 这个方法在每一次更改时候会被调用
	  * @throws ListenerException
	  */
	 public void commit() throws ListenerException;
	 
	 /**
	  * 关闭这个监听器前调用
	  * @throws ListenerException
	  */
	 public void close() throws ListenerException;
}
